/**
 * 
 *  Este arquivo é parte do programa TODO Ver nome. TODO Ver nome é um software livre; você pode redistribui-lo e/ou 
 *  modifica-lo dentro dos termos da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); 
 *  na versão 2 da Licença, ou (na sua opnião) qualquer versão.
 *  
 *	Este programa é distribuido na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implicita
 *  de ADEQUAÇÂO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.
 *	Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa, se não, escreva para a Fundação do
 *	Software Livre(FSF) 
 *
 *	Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 * 
 */

package fullcalc.fachada.interna.interfaces;

/**
 * 
 * <p>
 * Interface que representa o serviço e que faz controle das classes que
 * implementam a interface {@link Observador}
 * </p>
 * 
 * @author Willyan Guimarães Caetano
 */
public interface Evento {
	/**
	 * Adiciona e registra classe que implementa interface {@link Observador}
	 * 
	 * @param observador
	 */
	public void adicionaObservador(Observador observador);

	/**
	 * Deleta e registra classe que implementa interface {@link Observador}
	 * 
	 * @param observador
	 */
	public void deletaObservador(Observador observador);

	/**
	 * Notifica todos os observadores registrados
	 * 
	 */
	public void notificaObservadores();
}
